//
// Created by PC on 2023/10/11.
// 求最大公约数GCD
// 用欧几里得法 (辗转相除)
// OJ: https://oj.youdao.com/problem/537?from=problems
// 通过
// OJ: https://oj.hterobot.com/?#/question/108258/Submission?order=ID&offset=0&limit=20&teamid&name=%E6%9C%80%E5%A4%A7%E5%85%AC%E7%BA%A6%E6%95%B0&range=public
// 通过7个测试点 后4个是因为大数 超出了long long


#include <iostream>

using namespace std;

int main()
{
    long long x = 1804, y = 328;
    x = 100, y = 25;
    cin>>x>>y;
    if (x<y)
        swap(x,y);
    long left=x%y; // 余数
    while(x%y!=0)
    {
        left=x%y;
        x=y;
        y=left;
    }
    // 对于能直接整除的x,y,left是0,所以要把y赋值给left
    left=y;
//    cout<<"gcd="<<left;
    cout<<left;
    return 0;
}